Conventional computer system and information networking technologies allow individuals to configure complex arrangements of networked components that can communicate with each other over data communications links. As an example, computer system manufacturers manufacture and sell multi-processor computer systems that can contain a large numbers of individual compute nodes. Each compute node may include a respective processor interconnected with a memory system and may be fully contained on a single processor board, card or blade. The computer system manufacturer can install a collection of such compute nodes within a rack-mounted enclosure to form the multi-processor computer system. Each compute node concurrently and independently operates, for example as a server, to process data and communicate with other compute nodes in the computer system over a network of data links. An example of such a multi-processor computer system that can be configured to contain as many as two hundred fifty six (256) internetworked compute nodes is the Wildcat Enterprise Server manufactured by Sun Microsystems, Inc. of Mountain View, Calif.
To allow the compute nodes to communicate with each other in a multi-processor computer system such as the Wildcat Enterprise Server, each compute node operates in conjunction with a communications interface card that employs one or more communications protocols. The communications interface card associated with a compute node contains one or more interface ports that can be interconnected with networking cables or data links (e.g., fiber optic cables) to interface ports of other communications interface cards associated with other compute nodes or with one or more switch nodes that operate as part of the multi-processor computer system configuration. A switch node operates to distribute communication messages (e.g., packets) between the compute nodes that couple to the switch node. In this manner, a multi-processor computer system such as the Wildcat Enterprise Server can operate a plurality of compute nodes interconnected via communications interfaces with other compute nodes or with switch nodes to form numerous complex networked configurations of interconnected compute nodes and switch nodes.
To illustrate the complexity that can be achieved with such arrangements, consider a fully configured multi-processor computer system containing as many as two hundred fifty six compute nodes. A multi-processor computer system administrator can configure groups of interconnected compute nodes to form sub-networks of compute nodes known as “domains.” Depending upon the purpose or use of a domain of compute nodes, some domains may contain more or less compute nodes than others. In addition, sub-networks of compute node domains can be interconnected with each other. In a typical example configuration, a large number of data links (e.g., 50+ fiber-optic networking cables) can interconnect compute and switch nodes to create a complex network infrastructure domain within a single multi-processor computer system. Other domains (i.e., other groups of interconnected compute and switch nodes) may exist in the same multi-processor enterprise server. In addition, for high-reliability or high-bandwidth applications, an administrator can configure redundant connections (e.g., two or more data links) between communications interfaces associated with compute nodes and switch nodes to form even more complex network configurations.
According to certain multi-processor computer system design requirements, there may be interconnection configurations between compute nodes and/or switch nodes that are not allowed, or that may be required, for certain reasons. As an example, when an administrator desires to construct a redundant network configuration or ten or more compute nodes in a Wildcat Enterprise Server, and even number of compute nodes must be selected for such a configuration. As another example, certain compute nodes may operate in a buddy relationship with each other that requires the compute nodes to be concurrently configured in a parallel arrangement with other compute nodes when either buddy node is selected for a particular configuration. As an example, consider a scenario in which a first compute node and a second compute node operate in a buddy relationship with each other. If the communications interface associated with the first compute node is coupled or linked to another compute node (e.g., a third compute node), the second compute node that maintains the buddy relationship with the first compute node must also be coupled to a compute node (e.g., a fourth compute node) that operates in a buddy relationship with the third compute node. There may be many other configuration requirements that must be met in order for a domain of interconnected compute nodes to properly operate within a conventional multi-processor computer system such as the Wildcat Enterprise Server. The range of valid configurations of interconnected compute nodes is referred to as a set of legal network topologies.
Other types of conventional networking technologies related to the present invention include wide and local area network configurations such as corporate computer networks or the Internet. In such networking environments, many host computer systems (e.g., clients and servers) can be interconnected via a networking fabric of data links that interconnect router and/or switch data communications devices to form complex computer networks. An administrator of such a computer network (e.g., a corporate local area network) can use network management software to query components (e.g., client and server computer systems, switches, routers or other data communications devices) within the computer network to obtain their configuration state. The network management software is capable of interpreting the configuration state of equipment operating within the network in order to display a graphical interpretation of the topology of the computer network.